﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using Table_Dal;
using BLL;
namespace ApplicationLayer
{
    public partial class frmMonHoc : DevComponents.DotNetBar.OfficeForm
    {
       public frmMonHoc()
        {
           
            InitializeComponent();
        }

        private void frmMonHoc_Load(object sender, EventArgs e)
        {
            Load_ListViewMonHoc();
            btnThemMon.Enabled = false;
            btnSuaMon.Enabled = false;
            btnXoaMon.Enabled = false;
            btnThem.Enabled = false;
            btnSua.Enabled = false;
            btnXoa.Enabled = false;
            txtMonHoc.Text = "";
            txtTenChuong.Text = "";
        }
        public void Load_ListView()
        {
            ListViewItem itemMonHoc = lstMonHoc.SelectedItems[0];
            int count = lstChuong.Items.Count;
            if (count > 0)
                for (int x = count - 1; x >= 0; x--)
                {
                    lstChuong.Items.RemoveAt(x);
                }
            
            if (lstMonHoc.SelectedItems.ToString() == null || lstMonHoc.SelectedItems.ToString() == ""||lstMonHoc.SelectedItems.Count>1)
                return;
            List<ChuongTbl> DSChuong = new List<ChuongTbl>();
            ChuongBll Chg = new ChuongBll();
            MonHocBLL mh = new MonHocBLL();
            DSChuong = Chg.DSChuong_MaMon(itemMonHoc.Text);
            int Dem = DSChuong.Count;
            if (Dem == 0) return;
            for (int x = 0; x < Dem; x++)
            {
                ListViewItem lst = new ListViewItem();
                lst.Text = DSChuong[x].MaChuong.ToString();
                lst.SubItems.Add(DSChuong[x].TenChuong);
                lstChuong.Items.Add(lst);
            }
            if (lstChuong.Items.Count > 0) lstChuong.Items[0].Selected = true;
        }
        public void Load_ListViewMonHoc()
        {
            int count = lstMonHoc.Items.Count;
            if (count > 0)
                for (int x = count - 1; x >= 0; x--)
                {
                    lstMonHoc.Items.RemoveAt(x);
                }
            List<MonHocTbl> DSMonHoc = new List<MonHocTbl>();
            MonHocBLL mh = new MonHocBLL();
            DSMonHoc = mh.LayTatCaMonHoc();
            int Dem = DSMonHoc.Count;
            if (Dem == 0) return;
            for (int x = 0; x < Dem; x++)
            {
                ListViewItem lst = new ListViewItem();
                lst.Text = DSMonHoc[x].MaMonHoc.ToString();
                lst.SubItems.Add(DSMonHoc[x].TenMonHoc);
                lstMonHoc.Items.Add(lst);
            }
            if (lstMonHoc.Items.Count > 0) lstMonHoc.Items[0].Selected = true;
        }
        private void cboxMonHoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            Load_ListView();
            txtTenChuong.Text = "";
            btnSua.Enabled = false;
            btnThem.Enabled = false;
            btnXoa.Enabled = false;
            temp_TenChuong = "";
        }
        string MaMon = "";
        string temp_TenChuong = "";
        string temp_TenMonHoc = "";
        private void lstChuong_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstChuong.SelectedItems.Count == 0)
                return;
            if (lstChuong.SelectedItems.Count > 1)
            {
                txtTenChuong.Text = "";
            }
            else
            {
                ListViewItem item = lstChuong.SelectedItems[0];
                txtTenChuong.Text = item.SubItems[1].Text;
                temp_TenChuong = item.SubItems[1].Text;
            }
            btnSua.Enabled = false;
            btnXoa.Enabled = true;
            btnThem.Enabled = false;
        }
        
        private void btnThem_Click(object sender, EventArgs e)
        {
            ChuongBll ChgBll = new ChuongBll();
            MonHocBLL mh = new MonHocBLL();

            if (ChgBll.ThemChuong(txtTenChuong.Text,MaMon) == false)
            {
                MessageBox.Show("Thêm không thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                Load_ListView();
                MessageBox.Show("Thêm thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
        }
        

        private void txtTenMonHoc_KeyPress(object sender, KeyPressEventArgs e)
        {
            btnSua.Enabled = true;
            btnThem.Enabled = true;
            btnXoa.Enabled = false;
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            if (lstChuong.SelectedItems.Count == 0)
                return;
            if(temp_TenChuong == txtTenChuong.Text)
            {
                MessageBox.Show("Phải thay đổi tên", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            ChuongBll ChgBll = new ChuongBll();
            ChuongTbl ChgTbl = new ChuongTbl();
            ListViewItem item = lstChuong.SelectedItems[0];
            ChgTbl.MaChuong = item.Text;
            ChgTbl.TenChuong = txtTenChuong.Text;
            if (ChgBll.SuaCauhoi(ChgTbl) == false)
            {
                MessageBox.Show("Không Sửa được", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                Load_ListView();
                MessageBox.Show("Sửa thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (lstChuong.SelectedItems.Count == 0)
                return;
            if (MessageBox.Show("Bạn muốn xóa chương này", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                ChuongBll ChgBll = new ChuongBll();
                int k = 0;
                for (int i = 0; i < lstChuong.SelectedItems.Count; i++)
                {
                    string s = lstChuong.SelectedItems[i].Text;
                    ChgBll.XoaChuong(s);
                    k = 1;
                }
                if (k == 1)
                {
                    Load_ListView();
                    btnSua.Enabled = false;
                    btnThem.Enabled = false;
                    btnXoa.Enabled = false;
                    temp_TenChuong = "";
                    txtTenChuong.Text = "";
                    MessageBox.Show("Xoá thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
        }

       
        private void lstMonHoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstMonHoc.SelectedItems.Count == 0)
                return;
            //
            ListViewItem itemMonHoc = lstMonHoc.SelectedItems[0];
            if (lstMonHoc.SelectedItems.Count > 1)
            {
                txtMonHoc.Text = "";
            }
            else
            {
                txtMonHoc.Text = itemMonHoc.SubItems[1].Text;
                temp_TenMonHoc = itemMonHoc.SubItems[1].Text;
                MaMon = itemMonHoc.SubItems[0].Text;
            }
            
            btnSuaMon.Enabled = false;
            btnXoaMon.Enabled = true;
            btnThemMon.Enabled = false;
            //
            Load_ListView();
            txtTenChuong.Text = "";
            btnSua.Enabled = false;
            btnThem.Enabled = false;
            btnXoa.Enabled = false;
            temp_TenChuong = "";
        }

        private void txtMonHoc_KeyPress(object sender, KeyPressEventArgs e)
        {
            btnSuaMon.Enabled = true;
            btnThemMon.Enabled = true;
            btnXoaMon.Enabled = false;
        }

        private void btnThemMon_Click(object sender, EventArgs e)
        {
            MonHocBLL mh = new MonHocBLL();
            if (mh.ThemMonHoc(txtMonHoc.Text) == false)
            {
                MessageBox.Show("Không Thành Công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                MessageBox.Show("Thành Công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Load_ListViewMonHoc();
                MaMon = "";
                Load_ListView();
                return;
            }
            
        }

        private void btnXoaMon_Click(object sender, EventArgs e)
        {

            if (lstMonHoc.SelectedItems.Count == 0)
                return;
            if (MessageBox.Show("Bạn muốn xóa môn này", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                MonHocBLL MhBll = new MonHocBLL();
                int k = 0;
                for (int i = 0; i < lstMonHoc.SelectedItems.Count; i++)
                {
                    ListViewItem s = lstMonHoc.SelectedItems[i];
                    MhBll.XoaMonHoc(s.Text);
                    k = 1;
                }
                if (k == 1)
                {
                    Load_ListViewMonHoc();
                    btnSuaMon.Enabled = false;
                    btnThemMon.Enabled = false;
                    btnXoaMon.Enabled = false;
                    temp_TenMonHoc = "";
                    temp_TenChuong = "";
                    txtTenChuong.Text = "";
                    MessageBox.Show("Xoá thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
        }

        private void btnSuaMon_Click(object sender, EventArgs e)
        {
            if (lstMonHoc.SelectedItems.Count == 0)
                return;
            if (temp_TenMonHoc== txtMonHoc.Text)
            {
                MessageBox.Show("Phải thay đổi tên", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            MonHocBLL MhBll = new MonHocBLL();
            MonHocTbl MhTbl = new MonHocTbl();
            ListViewItem itemMonHoc = lstMonHoc.SelectedItems[0];
            MhTbl.MaMonHoc = itemMonHoc.Text;
            MhTbl.TenMonHoc= txtMonHoc.Text;
            if (MhBll.SuaMonHoc(MhTbl) == false)
            {
                MessageBox.Show("Không Sửa được");
                return;
            }
            else
            {
                Load_ListViewMonHoc();
                MaMon = "";
                Load_ListView();
                MessageBox.Show("Đổi thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
        }

        
    }
}